Skip to content

feat: add logging support and improve SSE streaming capabilities#69

Open
fern-api[bot] wants to merge 1 commit intomainfrom
fern-bot/2026-03-13T11-50Z
Open

feat: add logging support and improve SSE streaming capabilities#69
fern-api[bot] wants to merge 1 commit intomainfrom
fern-bot/2026-03-13T11-50Z

Conversation

@fern-api
Copy link
Contributor

@fern-api fern-api bot commented Mar 13, 2026

  • The SDK now supports configurable logging for HTTP requests and responses through the new logging() method on ClientOptions.Builder. Enhanced server-sent event streaming with new fromSseWithEventDiscrimination() methods for handling discriminated unions. The deprecated InputStream-based parserCreateJob() methods have been removed from lab report clients - use the File-based methods instead.
  • The parserCreateJob() methods that accept InputStream parameters have been removed from RawLabReportClient. Use the File-based overloads instead. The lab parameter in LabTestsGetPscAppointmentAvailabilityRequest now requires an AppointmentPscLabs enum value instead of a raw string.
  • The SDK now includes enhanced tracking capabilities with new SDK version fields for iOS and Android in ManualConnectionData. Added support for granted permissions tracking in link requests, clinical notes in orders, and access notes for addresses. The AggregateExprArg union now supports DerivedReadinessColumnExpr for enhanced query capabilities.
  • The GetOrderTransactionResponse.getStatus() method now returns an OrderTransactionStatus enum instead of a String. Update code that accesses the status field to handle the enum type. The ParsingJob class has removed the jobId field - remove any references to getJobId() method calls.
  • The SDK now supports querying derived readiness data through the new DerivedReadinessColumnExpr type in QuerySelectItem. Address handling has been enhanced with an optional accessNotes field for delivery instructions, and UserInfo now uses a more specific UserAddress type.
  • The SDK now supports Sonora Quest as a lab provider for appointments and lab tests. Added Samsung Health to the list of manual health data providers. New Apero and PVerify payor code external providers are available. The SDK introduces comprehensive logging capabilities through the new LogConfig API, allowing customization of log levels and logger implementations. Two new client APIs are available: CompendiumClient and LabAccountClient for enhanced lab management functionality. Server-Sent Events are now supported through the SseEvent class.
  • New compendium API support with search and convert operations available on CompendiumClient. Added SSE event parsing utilities for handling discriminated unions in server-sent events.
  • The SDK now supports compendium operations for lab test search and conversion through new request classes ConvertCompendiumBody and SearchCompendiumBody. Additionally, a new LabAccountClient is available for managing team lab accounts with the getTeamLabAccounts() method.
  • New lab account management capabilities are now available through the RawLabAccountClient. The SDK adds a getTeamLabAccounts() method for retrieving lab accounts with filtering by ID and status. Lab order creation now supports clinical notes through the clinicalNotes field on CreateOrderRequestCompatible.
  • New additionalProperty() and additionalProperties() methods are now available on all request builders, allowing you to set custom properties for enhanced flexibility and future extensibility.
  • New builder methods additionalProperty() and additionalProperties() are now available on all request builders, allowing flexible configuration of custom properties beyond the predefined fields.
  • New builder methods additionalProperty() and additionalProperties() are now available on all vitals request classes, allowing custom properties to be set when constructing requests.
  • New builder methods additionalProperty() and additionalProperties() are now available on all vitals request classes, enabling attachment of custom key-value data to API requests.
  • New builder methods additionalProperty() and additionalProperties() are now available on request classes to support custom field extensions. The AppointmentBookingRequest class now includes an optional appointmentNotes field for additional booking context.
  • New builder methods additionalProperty() and additionalProperties() are now available on all SDK types, allowing you to handle custom fields that may be present in API responses. A new CanonicalCandidate type has been added for biomarker canonicalization functionality.
  • New optional appointmentNotes field is now available on ClientFacingAppointment objects. Builder classes also now support additionalProperty() and additionalProperties() methods for setting custom properties.
  • New additionalProperty() and additionalProperties() methods available on all model builders. These methods allow setting custom key-value pairs on model objects for enhanced extensibility.
  • New builder methods additionalProperty() and additionalProperties() are now available on all model builders to set custom additional properties through fluent interfaces.
  • New builder methods additionalProperty() and additionalProperties() are now available on all client-facing type builders. These methods provide a fluent API for setting custom properties on data objects.
  • New lab account management capabilities with ClientFacingLabAccount type. Added support for lab report parsing events through ClientFacingLabReportParsingJobCreatedEvent and ClientFacingLabReportParsingJobUpdatedEvent types. Enhanced builder patterns across multiple types now include methods for setting additional properties.
  • New builder methods additionalProperty() and additionalProperties() are now available on all ClientFacing* types, enabling programmatic handling of custom properties in response objects.
  • New builder methods additionalProperty() and additionalProperties() are now available on all client-facing type builders, enabling custom property assignment during object construction.
  • New builder methods for additional properties are now available on all model types. The additionalProperty(String key, Object value) method allows setting individual additional properties, while additionalProperties(Map<String, Object> additionalProperties) enables bulk setting of multiple properties during object construction.
  • The SDK now supports setting additional properties on builder instances through new additionalProperty(String key, Object value) and additionalProperties(Map<String, Object> additionalProperties) methods. These methods allow developers to add custom key-value pairs to objects during construction while maintaining full backward compatibility.
  • New compendium search functionality with support for lab test conversion between different lab providers (LabCorp, Quest, BioReference, Sonora Quest). Enhanced builder patterns across data types now support additional properties for improved API extensibility.
  • The SDK now supports setting additional properties on builder classes through new additionalProperty() and additionalProperties() methods. This enables more flexible handling of custom fields and API extensions.
  • The SDK now supports setting additional properties on grouped health data builders. New additionalProperty() and additionalProperties() methods are available on builder classes for all grouped health data types.
  • The SDK now supports additional properties on all grouped response types (GroupedIge, GroupedSteps, GroupedHeartRate, etc.). New builder methods additionalProperty() and additionalProperties() allow you to attach custom metadata to grouped timeseries and sample data structures.
  • New builder methods for additional properties are now available on model classes. The additionalProperty() and additionalProperties() methods enable setting dynamic properties when constructing objects. New enum values added for derived readiness data and Sonora Quest lab support.
  • New builder methods additionalProperty() and additionalProperties() are now available on data model builders, allowing you to set custom fields when constructing model objects.
  • New PerLabCandidate type added for laboratory test candidate information with comprehensive marker details, LOINC codes, CPT codes, and confidence scoring. Enhanced builder patterns across model classes now support additional properties for improved extensibility.
  • The SDK now supports Samsung Health as a provider option. New provider ID conversion response types are available for mapping provider identifiers. Lab result metadata now includes gender information.
  • New compendium search functionality available with SearchCompendiumResponse and SearchMode types. Added UsState enum for US state validation. Enhanced builder pattern support across existing classes.
  • New UserAddress class is now available for representing address data. Enhanced builder classes now support additional properties for better extensibility.

This release introduces configurable logging support for HTTP requests and responses, 
plus enhanced server-sent event (SSE) streaming with event-level discrimination support.
Additionally removes deprecated InputStream-based file upload methods from the lab report client.

Key changes:
- Add optional logging configuration through ClientOptions.Builder.logging()
- Add new SSE stream type SSE_EVENT_DISCRIMINATED for discriminated union support
- Add fromSseWithEventDiscrimination() factory methods to Stream class
- Remove deprecated InputStream-based parserCreateJob() methods from lab report clients
- Update lab report documentation to clarify multi-file support

🌿 Generated with Fern
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants